package pe.edu.unmsm.fisi.sysllabus.negocio.servicio.impl;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.dao.DataAccessException;
import org.springframework.stereotype.Service;

import pe.edu.unmsm.fisi.sysllabus.integracion.dao.CarreraDAO;
import pe.edu.unmsm.fisi.sysllabus.negocio.modelo.dto.CarreraProfesionalDTO;
import pe.edu.unmsm.fisi.sysllabus.negocio.servicio.CarreraService;
import pe.edu.unmsm.fisi.sysllabus.negocio.servicio.PlanEstudioService;

@Service
public class CarreraServiceImpl implements CarreraService {

	@Resource
	CarreraDAO carreraDao;
	
	@Resource
	PlanEstudioService planEstudioService; 
	
	@Override
	public List<CarreraProfesionalDTO> listarCarreras()
			throws DataAccessException {
		return carreraDao.listarCarreras();
	}
	@Override
	public void guardarCarreraProfesional(CarreraProfesionalDTO carreraEditar)
			throws DataAccessException {
		if (carreraEditar.getIdCarreraProf()==null) 
			carreraDao.insertCarrera(carreraEditar);
		else
			carreraDao.updateCarrera(carreraEditar);
	}
	@Override
	public CarreraProfesionalDTO obtenerCarrera(Integer idCarreraProf)
			throws DataAccessException {
		CarreraProfesionalDTO carrera=carreraDao.getCarrera(idCarreraProf);
		carrera.setPlanesEstudios(planEstudioService.listarPlanesEstudioPorCarrera(carrera.getIdCarreraProf()));
		return carrera;
	}

}
